#include "fib.h"

/*函数对象重载函数调用操作符*/
Fib::Fib()
{
    a0 = 0;
    a1 = 1;
}

Fib::Fib(int n)
{
    a0 = 0;
    a1 = 1;

    for(int i=2; i<=n; i++)
    {
        int t = a1;

        a1 = a0 + a1;
        a0 = t;
    }
}

int Fib::operator() ()
{
    int ret = a1;

    a1 = a0 + a1;
    a0 = ret;

    return ret;
}
